package observe_pattern.ex1;

/**
 * @author 申书航
 * @version 1.0
 *
 * 表示一种伤害技能的类，继承自角色技能类。
 */
public class HurtSkill extends RoleSkill{

    /**
     * HurtSkill 构造函数，初始化技能伤害值。
     */
    public HurtSkill() {
        hp = -200;
    }

    /**
     * 通知所有观察者更新他们的生命值。
     * @param obs 触发通知的角色观察者
     */
    @Override
    public void notify(RoleObserve obs) {
        observes.forEach(o -> {
            if (o.getCamp() != obs.getCamp()) {
                o.updateHp(this);
            }
        });
    }

    /**
     * 返回技能的字符串表示。
     * @return 技能名称
     */
    @Override
    public String toString() {
        return "火球";
    }
}
